package com.owen.websocket.socketio.init.property;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "owen.socket.io")
public class SocketIOProperties {
    private String host;
    private Integer port;
    /**
     * 设置最大每帧处理数据的长度，防止他人利用大数据来攻击服务器
     */
    private Long maxFramePayloadLength;
    /**
     * 设置http交互最大内容长度
     */
    private Long maxHttpContentLength;
    /**
     * socket连接数大小（如果只监听一个端口boss线程组为1即可）
     */
    private Integer bossCount;

    private Integer workCount;

    private Boolean allowCustomRequests;
    /**
     * 协议升级超时时间（毫秒），默认10秒。HTTP握手升级为ws协议超时时间
     */
    private Integer upgradeTimeout;
    /**
     * ping消息超时时间（毫秒），默认60秒，这个时间间隔内没有接收到心跳消息就会发送超时事件
     */
    private Integer pingTimeout;
    /**
     * ping消息间隔（毫秒），默认25秒。客户端想服务器发送一条心跳消息间隔
     */
    private Integer pingInterval;
}
